1. Field of the Invention
The present invention relates to software installation and, more particularly, a system and method for creating and deploying a single common software file that can be used to install the appropriate data sets on multiple devices having different processors or operating systems.
2. Description of Related Art
Different electronic devices (e.g., desktop computers, laptop computers, pocket personal computers, personal digital assistants, handheld computers, cell phones, etc.) can have different hardware and software components with unique specifications and settings. For example, electronic devices can comprise numerous different operating systems and processor types. A device having a unique operating system-processor combination typically needs a unique installation file in order to be able to install the proper files onto it. The need for device-specific installation files largely results from using native programming languages that require executables and supporting code files to be compiled for a specific processor type. Sometimes, the device-specific installation files contain code for the specific operating system. Currently, installing a set of files to devices with different processors and/or operating systems requires a different type of software file for each unique processor-operating system combination.
Examples of existing programs that perform installation functions include Wise Windows Installer, Wise for Visual Studio .NET, InstallShield's installation utility, Microsoft's CabWiz, and Microsoft's Setup and Deployment Wizard in Visual Studio .NET 2003. None of these products comprise a single common file that can be deployed on multiple platforms; rather, these products create and/or utilize numerous different installation packages for different processor/operating system combinations. FIG. 1 depicts a typical current software installation system 10 that comprises a development platform or computer 12, a plurality of installation files (e.g., files 14, 16, 18, 20, 22, and 24), a file deployment subsystem 26, and a plurality of target devices (e.g., devices 30, 32, 34, 36, 38, and 40).
With continued reference to FIG. 1, the development platform 12 comprises a computer with processor W and operating system A. Each of the target devices comprises an operating system from a group consisting of A, B, and C, and a processor type from a group consisting of W, X, Y, and Z. Device 30 is a cell phone with operating system B and processor X. Device 32 is a personal digital assistant (PDA) that has processor Y and operating system B. Device 34 is a PDA with operating system C and processor Z. Device 36 is a PDA with operating system C and processor Y. Device 38 is a desktop computer with operating system A and processor W. Device 40 is a laptop computer with operating system B and processor W.
There is a different installation file for each of the devices. Specifically, installation file 14 is specific to a cell phone having processor X and operating system B. Similarly, installation files 16, 18, 20, 22, and 24 are geared toward devices 32, 34, 36, 38, and 40, respectively. File transportation system 26 comprises a medium, network, or the like, that facilitates the deployment of files 14, 16, 18, 20, 22, and 24 to devices 30, 32, 34, 36, 38, and 40, respectively. For example, deployment subsystem 26 can comprise CDs, downloadable files, network connections, or the like, or combinations thereof.
A typical current software installation method comprises the steps of running a program on a development computer 12 to create a unique installation file for each processor and operating system combination, deploying the installation files to the appropriate target devices, and copying and running each unique install file on the respective target device to perform the installation.
For a customer that uses various different types of devices, each with different operating systems and/or processor types, it is inconvenient, time-consuming, and perhaps confusing if he/she has to install multiple versions of a given type of software onto his/her devices. For example, with reference to FIG. 1, a consumer may own three different types of personal computers (PCs)—namely, a pocket PC 36, a desktop PC 38, and a laptop PC 40—wherein each PC has a unique processor-operating system combination. As a result, the consumer would have to download and install three different versions or types of an installation software (e.g., a new program, patch, virus definition list, or the like).
What is desired is a system and method for installing software or data onto target devices with a single, common installation file, which expedites the process of loading the software/data onto multiple devices, and thereby saves customers time spent on figuring out which installation file(s) is needed to install software/data to a specific type of device.